package mochi.as3;

extern class MochiUserData extends flash.events.EventDispatcher {
	var _loader : flash.net.URLLoader;
	var callback : Dynamic;
	var data : Dynamic;
	var error : flash.events.Event;
	var key : String;
	var operation : String;
	function new(?key : String, ?callback : Dynamic) : Void;
	function close() : Void;
	function completeHandler(event : flash.events.Event) : Void;
	function deserialize(arr : flash.utils.ByteArray) : Dynamic;
	function errorHandler(event : flash.events.IOErrorEvent) : Void;
	function getEvent() : Void;
	function performCallback() : Void;
	function putEvent(obj : Dynamic) : Void;
	function request(_operation : String, _data : flash.utils.ByteArray) : Void;
	function securityErrorHandler(event : flash.events.SecurityErrorEvent) : Void;
	function serialize(obj : Dynamic) : flash.utils.ByteArray;
	static function get(key : String, callback : Dynamic) : Void;
	static function put(key : String, obj : Dynamic, callback : Dynamic) : Void;
}
